package com.cskaoyan.javase.basic._0datatype;

/**
 * 数据类型的定义/概念:
 *      数据类型，表示的是一组数据的集合，和基于该数据集合的一组合法操作。
 *      比如int类型,有固定的取值范围,也有固定的操作
 *
 * Java是强类型语言，
 *      这就意味着Java当中的每个变量都必须有它的数据类型，并且数据类型不会轻易改变。
 *
 * Java数据类型的分类：
 *      1.基本数据类型，一共有四类八种
 *          a.整型(按照所占内存空间从小到大)
 *              byte:字节型,1个字节
 *              short:短整型,2个字节
 *              int:整型,4个字节
 *              long:长整型,8个字节
 *              其中最常用的是int类型,它本身就是单词integer(整数)的缩写
 *
 *          b.浮点型
 *              float: 4个字节 （有效位数7~8位）
 *              double: 8个字节 （有效数字16~17位）
 *              IEEE754标准下的浮点数有两个最重要特点：
 *                  1.浮点数的表示方式可以理解为在一个数（尾数）的基础上乘以它的幂运算（指数位/阶码），所以 浮点数可以表示非常大和非常小的数！ 比如：1 * 10-100 这个数非常小，1 * 10100这个数非常大。
 *                  注意:浮点数,不管占用多大的内存空间,它的取值范围都要远大于整型
 *
 *                  2.浮点数乘以它的幂运算的那个尾数的长度是有限制的，这就导致 浮点数的精度是有限的！
 *                  如果规定尾数只有4位，那么能够表示的有效数字是不可能超过4位的。比如 1.234 * 10的100次方 这个数，最多就只能表示1234四个数，这个数再大，后面也都是0。
 *                  浮点数有精度问题.
 *
 *          c.字符型
 *              只有一个就是char,2个字节
 *              char是单词character(字符)的缩写
 *              它在Java当中表示字符
 *              char类型实际存储的是一个16位的正整数值，这个整数值称之为该"字符的编码值"。
 *              所以字符型本质上仍然是整型
 *              是一个16位的无符号正整数
 *              它的取值范围是[0,65535]
 *              字符型可以参与数值运算,是编码值参与运算.
 *
 *          d.布尔型
 *              只有一个boolean
 *              只有两个取值,要么是true 要么是false
 *
 *      2.引用数据类型
 *          这里不讲解引用数据类型
 *          仅需要记住一句话,
 *          Java中的数据类型 只要不是四类八种基本数据类型
 *          都统统是引用数据类型!!!
 *          String表示字符串,它就是最典型的引用数据类型
 *
 * @since 11:20
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    // psvm快速生成main方法
    public static void main(String[] args) {
        // sout快速生成输出语句
        System.out.println("hello world");

        float f1 = 0.1F;
        float f2 = 0.100000000000000000009F;
        // f2后面虽然有9,但是超出了有效位数
        System.out.println(f1 == f2);

        char c = 'a';
        char c2 = '我';
        System.out.println(c + 0);
        System.out.println(c2 + 0);

        String s = "hello";
    }
}
